<?php

require_once('dao/ClientDao.php');
require_once('dao/OffrePonctuelDao.php');
require_once('dao/FacturePonctuelleDao.php');
if ($_SESSION['niveauAuth']<>'0' ){
/*
 * Création de facture ponctuelle
 * @author Arthur
 */
$facture = null;
if (!empty($_GET['id-facture'])) {
    $facture = FacturePonctuelleDao::searchById(filter_input(INPUT_GET, 'id-facture'), true);
    if (null !== $facture->pdf) {
        redirect("detail-facture-ponctuelle?id-facture=$idFacture");
    }
}
//si post, création facture et redirection detail facture
if (!empty($_POST)) {
    foreach ($_POST['fact'] as $key => $ligne) {
        $lignesFactures[$key]['id_terminal'] = (int) $ligne['offre']['id-produit'];
        $lignesFactures[$key]['quantite'] = (int) $ligne['quantite'];
    }

    //mode de paiement
    if(!isset($_POST['is-avoir'])){
        $modePaiement = (string) $_POST['mode-paiement'];
    }else{
        $modePaiement = null;
    }
    
    if ($idFacture = FacturePonctuelleDao::insertNewFacture((int) $_POST['id-client'], $lignesFactures, isset($_POST['is-avoir']), $modePaiement)) {
        redirect("detail-facture-ponctuelle?id-facture=$idFacture");
    }
}
//si la facture on la supprime pour la recréer
if (!empty($facture)) {
    FacturePonctuelleDao::deleteFacture($facture);
    if (!empty($_GET['action'])) {
        if ($_GET['action'] === 'delete') {
            redirect("liste-client");
        }
    }
}

//récupération du client
$client = ClientDao::searchById(filter_input(INPUT_GET, 'code_client_hto'));
//récupération des articles
$offres = OffrePonctuelDao::getAll();
$offresLabels = array();
$offresKeyed = array();
foreach ($offres as $offre) {
    $offresLabels[] = $offre['libelle'];
    $offresKeyed[$offre['id']] = $offre;
}
// Rendu de la page
echo $twig->render('creation-facture-ponctuelle.html.twig', array('client' => $client[0],
    'offres' => json_encode($offresKeyed),
    'ob_offres' => $offresKeyed,
    'offresLabels' => $offresLabels,
    'facture' => $facture,
    'message' => $message,
    'error' => $error));

}
else {
	redirect("home-admin");
}